package org.jeecg.common.aspect.annotation;

import java.lang.annotation.*;

/**
 * 接口流量控制注解
 *
 * @author jiangtianyi
 * @version 1.0
 * @date 2023-02-22
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Limit {

    /**
     * 单位时间使用接口次数
     */
    int value() default 1;

    /**
     * 单位时间大小，时间单位：秒
     */
    long seconds() default 60L;

    /**
     * 是否依据执行失败判定访问限制
     */
    boolean isBasisFailJudgment() default false;

    /**
     * 执行成功后，是否解除访问限制
     * 配合"isBasisFailJudgment()"使用
     */
    boolean isRemoveIfSuccess() default false;

}